home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / OS / FWGraphx / Sources / FWWinDIB.cpp < prev    next >
Encoding:
Text File  |  1996-04-25  |  4.1 KB  |  137 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWWinDIB.cpp
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWOS.hpp"
  11.  
  12. #ifdef FW_BUILD_WIN
  13.  
  14. #ifndef FWWINDIB_H
  15. #include "FWWinDIB.h"
  16. #endif
  17.  
  18. #ifndef FWSTRMRW
  19. #include "FWStrmRW.h"
  20. #endif
  21.  
  22. #ifndef FWODEXCE_H
  23. #include "FWODExce.h"
  24. #endif
  25.  
  26. //========================================================================================
  27. // DIB utilities
  28. //========================================================================================
  29.  
  30. //----------------------------------------------------------------------------------------
  31. // FW_DIBAcquireColorTable
  32. //----------------------------------------------------------------------------------------
  33.  
  34. unsigned short
  35. SL_API        FW_DIBAcquireColorTable(FW_WinDIB dib, FW_SColor** colors)
  36. {
  37.     unsigned short nColors = FW_PrivDIBAcquireColorTable(dib, colors);
  38.     if (colors == 0 && nColors != 0)
  39.         FW_Failure(FW_xMemoryExhausted);
  40.     return nColors;
  41. }
  42.  
  43. //----------------------------------------------------------------------------------------
  44. // FW_DIBConvertToBitmap
  45. //----------------------------------------------------------------------------------------
  46.  
  47. HBITMAP
  48. SL_API        FW_DIBConvertToBitmap(FW_WinDIB dib, HPALETTE hPal)
  49. {
  50.     HBITMAP hBitmap = FW_PrivDIBConvertToBitmap(dib, hPal);
  51.     if (hBitmap == 0)
  52.         FW_Failure(FW_xMemoryExhausted);
  53.     return hBitmap;
  54. }
  55.  
  56. //----------------------------------------------------------------------------------------
  57. // FW_DIBConvertFromBitmap
  58. //----------------------------------------------------------------------------------------
  59.  
  60. FW_WinDIB
  61. SL_API        FW_DIBConvertFromBitmap(HBITMAP bitmapHandle, short bitDepth, HPALETTE hPal)
  62. {
  63.     FW_WinDIB dib = FW_PrivDIBConvertFromBitmap(bitmapHandle, bitDepth, hPal);
  64.     if (dib == 0)
  65.         FW_Failure(FW_xMemoryExhausted);
  66.     return dib;
  67. }
  68.  
  69. //----------------------------------------------------------------------------------------
  70. // FW_DIBGetPalette
  71. //----------------------------------------------------------------------------------------
  72.  
  73. HPALETTE
  74. SL_API        FW_DIBGetPalette(FW_WinDIB dib)
  75. {
  76.     Environment* ev = somGetGlobalEnvironment();
  77.     HPALETTE hPal = FW_PrivDIBGetPalette(ev, dib);
  78.     FW_FailOnEvError(ev);
  79.     return hPal;
  80. }
  81.  
  82. //----------------------------------------------------------------------------------------
  83. // FW_DIBCreate
  84. //----------------------------------------------------------------------------------------
  85.  
  86. FW_WinDIB
  87. SL_API        FW_DIBCreate(
  88.                 short bitDepth, short width, short height,
  89.                 short nbColors, const FW_SColor* colorTable,
  90.                 const void* pixels)
  91. {
  92.     FW_WinDIB dib = FW_PrivDIBCreate(bitDepth, width, height, nbColors, colorTable, pixels);
  93.     if (dib == 0)
  94.         FW_Failure(FW_xMemoryExhausted);
  95.     return dib;
  96. }
  97.  
  98. //----------------------------------------------------------------------------------------
  99. // FW_DIBCreateCopy
  100. //----------------------------------------------------------------------------------------
  101.  
  102. FW_WinDIB
  103. SL_API        FW_DIBCreateCopy(FW_WinDIB dib)
  104. {
  105.     FW_WinDIB dibCopy = FW_PrivDIBCreateCopy(dib);
  106.     if (dibCopy == 0)
  107.         FW_Failure(FW_xMemoryExhausted);
  108.     return dibCopy;
  109. }
  110.  
  111. //----------------------------------------------------------------------------------------
  112. // FW_DIBLoadFromStream
  113. //----------------------------------------------------------------------------------------
  114.  
  115. FW_WinDIB
  116. SL_API        FW_DIBLoadFromStream(FW_CReadableStream& stream, FW_Boolean bFileHeader)
  117. {
  118.     Environment* ev = somGetGlobalEnvironment();
  119.     FW_WinDIB dib = FW_PrivDIBLoadFromStream(ev, stream, bFileHeader);
  120.     FW_FailOnEvError(ev);
  121.     return dib;
  122. }
  123.  
  124. //----------------------------------------------------------------------------------------
  125. // FW_DIBSaveToStream
  126. //----------------------------------------------------------------------------------------
  127.  
  128. void
  129. SL_API        FW_DIBSaveToStream(FW_CWritableStream& stream, FW_WinDIB dib, FW_Boolean bFileHeader)
  130. {
  131.     Environment* ev = somGetGlobalEnvironment();
  132.     FW_PrivDIBSaveToStream(ev, stream, dib, bFileHeader);
  133.     FW_FailOnEvError(ev);
  134. }
  135.  
  136. #endif // FW_BUILD_WIN
  137.